package org.example.sword2offer.primary;

/**
 * @author: lynn
 * @Descript: 把字符串转换成整数
 * @date: 2021/3/22 20:25
 * @version: 1.0
 */
public class Q49_StrToInt {
    public static void main(String[] args) {
        System.out.println(doStrToInt(""));
    }
    // -2334,+123,234
    public static int doStrToInt(String str) {
        int symbol=1; //符号位
        int sum=0;
        char[] array = str.toCharArray();//字符串转数组
        if (array.length==0 || str==null){
            return 0;
        }
        //先给array[0] 定个基调
        if (array[0]=='-'){
            symbol=-1;
            array[0]='0';
        }else if ( array[0]=='+'){
            array[0]='0';
        }

        for (int i = 0; i <array.length ; i++) {
            // 如果不是数字，而是其他字母符号一类非数字字符，则直接返回0
            if (array[i] < '0' || array[i] > '9') {
                return 0;
            }
            // array[i] - '0'，这里减去字符'0'，是因为字符'0'-'9'的ascii码值与其对应的数字相差48，
            // 而'0'的ascii码值正好是48
            sum=sum*10+array[i]-'0';
        }



        return sum*symbol;
    }
}
